<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 1.基本数据类型： string number boolean null undefined symbol 存储在栈中
        // 2.引用数据类型:  function object array 存储在堆中
        // function fn() {}
        // console.log(typeof fn) 
        // typeof 无法区分出 null object 和 array 因为他们的返回值全是object
        // instanceof 可以区分数组和对象 返回值是布尔值 但是无法区分出null 和 undefined
        // var obj = {}
        // var arr = []
        // console.log(undefined instanceof Object)
        // var obj = {}
        // var arr = []
        // console.log(person.constructor.name)
        // var str = '123'
        // function fn() {

        // }
        // console.log(obj)
        // function Person() {

        // }

        // Person.prototype = new Array()

        // var person = new Person()
        // console.log(person)
        // console.log(person.constructor.name)
        // 完美判断数据类型的方法
        // var obj = {}
        // var arr = []
        // var str = "123"
        // var num = 123
        // var aaa = null
        // var bbb = undefined
        // console.log(Object.prototype.toString.call(bbb))
        // jq中的$.type也可以返回所有的数据类型
    </script>
</body>
</html>